//
//  ReversiBoardView.h
//  Reversi
//
//  Created by 成瀬 龍人 on 2/18/10.
//  Copyright 2010 __MyCompanyName__. All rights reserved.
//

#import <Cocoa/Cocoa.h>
#import "ReversiBoard.h"
#import "ReversiPlaying.h"

@protocol ReversiBoardView

- (id)initWithBoard:(ReversiBoard*)board
		 controller:(id)controller
		blackPlayer:(NSObject<ReversiPlaying>*)black
		whitePlayer:(NSObject<ReversiPlaying>*)white;
- (void)startPutAnimation:(ReversiStone)stone:(ReversiBoardPosition*)start:(NSArray*)lineArray;
- (BOOL)updatePutAnimation;
- (void)startPassAnimation:(ReversiStone)stone:(NSObject<ReversiPlaying>*)player;
- (BOOL)updatePassAnimation;
- (void)startInvalidPutPosAnimation:(ReversiStone)stone:(NSObject<ReversiPlaying>*)player;
- (BOOL)updateInvalidPutPosAnimation;
- (void)changePlayerTo:(NSObject<ReversiPlaying>*)toPlayer
			   toStone:(ReversiStone)toStone
			fromPlayer:(NSObject<ReversiPlaying>*)fromPlayer
			 fromStone:(ReversiStone)fromStone;
- (void)changeToPassState:(NSObject<ReversiPlaying>*)player:(ReversiStone)stone;
- (NSTimeInterval)timerInterval;

- (NSView*)view;

@end
